/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.isd.inventario.web;



import com.isd.inventario.modelo.Producto;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import com.isd.inventario.modelo.TipoProducto;
import com.isd.inventario.rn.ProductoRN;
import com.isd.inventario.rn.TipoProductoRN;

/**
 *
 * @author ctrosch
 */
@ManagedBean (name="conversoresInventario")
@SessionScoped
public class ConversoresInventario {
    
    @EJB private TipoProductoRN tipoProductoRN;
    @EJB private ProductoRN productoRN;

    /** Creates a new instance of ConversoresBean */
    public ConversoresInventario() {
        
    }

    public Converter getProducto() {
        return new Converter() {

            @Override
            public Object getAsObject(FacesContext context, UIComponent component, String value) {
                if (value.trim().equals("") || value == null) {
                    return null;
                }
                
                Producto p = productoRN.getProducto(value.substring(0, 3), value.substring(3, 12));               
                return p;
            }

            @Override
            public String getAsString(FacesContext context, UIComponent component, Object value) {
                if (value == null || value.equals("")) {
                    return "";
                } else {

                    return ((Producto) value).getCodigo() + "";
                }
            }
        };
    }
    
    public Converter getTipoProducto() {
        return new Converter() {

            @Override
            public Object getAsObject(FacesContext context, UIComponent component, String value) {
                if (value.trim().equals("") || value == null) {
                    return null;
                }

                TipoProducto t = tipoProductoRN.getTipoProducto(value);
                return t;
            }

            @Override
            public String getAsString(FacesContext context, UIComponent component, Object value) {
                if (value == null || value.equals("")) {
                    return "";
                } else {

                    return ((TipoProducto) value).getTippro() + "";
                }
            }
        };
    }

   
}
